1. Field of the Invention
The present invention relates to data communications. More specifically, the present invention relates communicating additional data through the use of algorithms sequentially applied to identify additional data as well as providing a primary function in the data communications protocol.
2. Description of the Related Art
Data communication systems are prevalent in a broad array of applications today. Data communications are carried over a broad variety of media, that include metallic circuits such as telephony twisted pair applications, coaxial cable applications, and other public and private wireline network environments. Data communications are employed extensively in fiber optic networks, and via infrared light pulse codes for propagation in space. Certainly most major radio based communications systems employ a data communications aspect for command and control, if not for actual voice communications. And, voice communications are increasingly being carried as data in modern communication system. In addition to voice applications, video and satellite application commonly use data communications. Even acoustic applications exists for data communications.
The dimensions of data communications are as varied as the media which carry data. Data networks that interconnect the entire world are now in operation. In fact, data communications extend beyond the bounds of Earth in the space program. Data communication systems exist regionally as well as locally in the forms or regional telephony services, radio communications systems, ATM networks, and other applications. Data communications systems may be as localized as a single office or home environment. In some applications, data communications systems exist only within a single computerized device, even sometimes as localized as a single integrated circuit.
Data communication systems are complex and require vast financial and engineering resources to create. Once deployed, they tend to have a great deal of inertia. This is particularly true in a distributed system where infrastructure is deployed over large areas and where multiple participants invest in the system. It is also true where a standard is established, whether by rule or de facto. As a network or standard grows and is accepted, it can become an entity in itself. Making the implementation of alterations to the protocol very difficult.
Another fundamental in data communications is that the market has an ever increasing demand for system performance. Higher data rates and increased features are always desirable. This is clearly the case in public networks, such as the Internet, but is also true in most other data communications application. In the area of land mobile radio, the trend over the years as been from single radio site systems with a crude data communications control aspect to broad area networks that provided advanced channel management, voice and data service tightly integrated to simplify development of user applications.
The tension then is to increase system performance in an environment where inertia limits the rate at which networks and protocols may evolve. In essence, when added capacity and features are required, added data throughput is needed to deliver them. However, added data throughput can be extremely difficult to deliver where an existing protocol dictates design criteria such as baud rates, packet sizes, and bandwidths.
Thus there is a need in the art for a system and method to increase data throughput in a data communications without altering the fundamentals of the data communications system.
The need in the art is addressed by the systems and methods of the present invention. A data communication system for communicating additional data is disclosed. The system generally includes a data transmitter and a data receiver.
The data transmitter portion of the system includes an encoder with an input for receiving a data packet, and which is operable to form a data slot packet by inserting the data packet and a bit pattern into the data slot. A memory stores several algorithms corresponding to several pieces of additional data. A controller is coupled to the memory and is operable to recall at least one of the algorithms in accordance with a specified piece of additional data. The controller is coupled to the encoder and calculates the bit pattern, in accordance with the data packet and the recalled algorithm, and inserts it into the data slot packet by use of the encoder. A transmitter is coupled to the encoder and transmits the data slot packet through a communications medium, which may be various types.
Respecting the data receiver portion of the system, which is connected to the opposite end of the communications medium, a receiver receives the data slot packet . A decoder is coupled to the receiver and operates to extract the data packet and the bit pattern. A second memory has the same algorithms and additional data stored within it. A second controller, coupled to the decoder, is operable to receive the extracted data packet and the extracted bit pattern. The second controller is also coupled to the second memory and operates to sequentially recall the plurality of algorithms and to calculate a verifying bit pattern in accordance with the extracted data packet. When the second controller finds equality between the verifying bit pattern and the extracted bit pattern, it assigns the presently selected additional data to the received data packet.
In further refinement of this invention, the data slot packet may be a fixed length, and the additional data may be data slot packet identifiers in a system where several data slot packet types are utilized. The bit pattern may be either an error detection or error correction bit pattern. The algorithms, then, may be those used to calculate the error detection or correction, such as CRC polynomials. These may be stored in the memory as a representation of the algorithm, or as a look-up tables used to efficiently process the algorithm.
Respecting the encoder, this may be of the type that interleave the data packet with the bit pattern, likewise, the decoder de-interleaves the data packet from the bit pattern.
In an illustrative embodiment, the communications medium is a radio link.
At the receiving end, the controller operates to calculate a verifying bit pattern in accordance with each of the extracted data. The controller assigns the one of the plurality of additional data corresponding to the presently selected algorithm upon finding equality between more than just one of the plurality of verifying bit patterns and the plurality of extracted bit patterns.
The system may operate so that the several additional data are a plurality of data slot identifiers linked to a respective plurality of data slot packets. When the necessary equality is found, the controller operates to assign the present one of the plurality of data slot packet identifiers to align the continuous stream of data slot packets between the transmitter and receiver portions of the system.
An illustrative embodiment of the present invention is a method of communicating additional data in a data communication system. The method includes the steps of selecting one of a plurality of algorithms corresponding to additional data and calculating a bit pattern in accordance with a data packet and the selected algorithm. Then, inserting the data packet and the bit pattern into a data slot packet and transmitting said data slot packet over a transmission medium.
At the opposite end, the steps of receiving the data slot packet and extracting the data packet and the bit pattern from the data slot packet. Then, sequentially selecting from the plurality of algorithms and calculating a verifying bit pattern for each presently selected algorithm. Upon finding equality between the verifying bit pattern and the extracted bit pattern, linking additional data corresponding to the presently selected algorithm to the extracted data. Refinements similar to the previously described system are also applicable to the disclosed method.